/**
 * @Description:
 * @author 若琳
 * @date 2021/6/29
*/



const express = require("express");
const CaptchaController = express.Router();

// 图形验证码模块
const svgCaptcha = require('svg-captcha');

//数据集合
const ResultJson = require("../../../../../../../../ruoling-model/src/com/ruoling/model/SystemModel/ResultJson.js").V("v1.0.0");

/**
 * 验证码生成，图片验证码（支持算术形式）
 */
CaptchaController.get("/api/captchaImage",function(Request,response){

    try{
        const codeconfig = {
            size:5,  //字符数量
            noise:2,// 干扰线条的数量
            width:160, //生成图片宽度
            height:44,	//生成图片高度
            fontSize: 50, //验证码字符大小
            ignoreChars: '0oO1ilI', // 验证码字符中排除 0o1i
            color: true, // 验证码的字符是否有颜色，默认没有，如果设定了背景，则默认有
            background: '#eee', // 验证码图片背景颜色
            mathOperator: "+/-"
        };
        const  captcha = svgCaptcha.createMathExpr(codeconfig);

        Request.session.captchaImage = captcha.text.toLowerCase();  //生成的字符串，用于验证

        var codeData = {
            img:captcha.data  //生成的SVG图片
        };
        response.send(ResultJson.Ok(codeData));
        return;

    }catch (e){
        response.send(ResultJson.SystemError());
        return;
    }
});

module.exports = CaptchaController;
